package com.itheima.service;

import com.itheima.dto.InsertSetmealDTO;
import com.itheima.dto.UpdateSetmealDTO;
import com.itheima.entity.Setmeal;
import com.itheima.entity.SetmealDishes;
import com.itheima.vo.SetmealVO;
import com.itheima.vo.SetmealVoPage;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
/**
 *套餐模块业务层实现接口
 * @author msi
 * @date 2022/5/17
 * @version 1.0
 */
@Transactional(rollbackFor =Exception.class )
public interface SetmealService {
    /**
     * 添加套餐
     * @param insertSetmealDTO
     * @return
     */
    boolean insertSetmeal(InsertSetmealDTO insertSetmealDTO);

    /**
     * 分页查询
     * @param name
     * @param page
     * @param pageSize
     * @return
     */
    SetmealVoPage getPageList(String name, Integer page, Integer pageSize);

    /**
     * 修改套餐
     * @param updateSetmealDTO
     * @return
     */
    Boolean updateSetmeal(UpdateSetmealDTO updateSetmealDTO);

    /**
     * 用id查找套餐
     * @param id
     * @return
     */
    SetmealVO getSetmeal(String id);

    /**
     * 改变售卖状态
     * @param status
     * @param ids
     * @return
     */
    Boolean changeStatus(Integer status, String ids);

    /**
     * 删除套餐
     * @param ids
     * @return
     */
    Boolean delete(String[] ids);

    /**
     * 获得套餐列表
     * @param categoryId
     * @param status
     * @return
     */
    List<Setmeal> getList(String categoryId, Integer status);

    /**
     * 套餐菜品列表
     * @param id
     * @return
     */
    List<SetmealDishes> getSetmealDishes(String id);
}
